package com.project.srtp.secure.dao.entity;

/**
 * @author 曹行阳
 * @version 0.1
 * @date 2025/6/10 16:50
 */

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * SecureFile 实体：记录加密文件的元数据
 */
@Data
@TableName("t_secure_file")
@Builder
public class SecureFile {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 原始文件名（用户上传时的名称） */
    private String originalFilename;

    /** 存储路径（服务器本地或对象存储路径） */
    private String storagePath;

    /** 文件大小（加密后字节数） */
    private Long size;

    /** 上传者用户 ID（引用 user 模块的 User 实体） */
    private String userId;

    /** 存储用于解密的密钥指纹或 keyId */
    private String keyFingerprint;

    /** 上传时间 */
    private LocalDateTime uploadTime;

    /** 加密算法名称*/
    private String algorithm;

    /** 下载次数 */
    private Integer downloadCount;
}
